#ifndef MACHINEMODEL_H
#define MACHINNEMODEL_H

#include <QObject>
#include <mutex>
#include <memory>

class MachineModel : public QObject
{
    Q_OBJECT
public:
    QString getTheMachineType();
    static std::shared_ptr<MachineModel> getMachineModelInstance();

private:
    MachineModel(QObject *parent = nullptr);
    MachineModel(const MachineModel &);
    const MachineModel &operator =(const MachineModel &) = delete;

private:
    void initMachineType();
    const QString getSysVendor() const;
    const QString getProductName() const;
    const QString getProductFamily() const;
    QString m_machineType;
    static std::shared_ptr<MachineModel> m_machineModel;
    static std::mutex m_mutex;

signals:

};

#endif // MACHINEMODEL_H
